On X11, the final and flipped rects were reporting
global coordinates. This was showing up as misplaced
popover beaks.
GdkRectangle final_rect;
gboolean flipped_x;
gboolean flipped_y;
+ int x, y;
/* This implementation only works for backends that
* can provide root coordinates via get_root_coords.
else
gdk_surface_move (surface, final_rect.x, final_rect.y);
+ gdk_surface_get_origin (toplevel, &x, &y);
+ final_rect.x -= x;
+ final_rect.y -= y;
+ flipped_rect.x -= x;
+ flipped_rect.y -= y;
+
g_signal_emit_by_name (surface,
"moved-to-rect",
&flipped_rect,